(foreign c) 0.11.0

Portable foreign function interface for R7RS Schemes

This Snow package is federated from http://snow-fort.org/. Installation requires Akku >=0.5.0.

Original license field: N/A

These (possibly optional) dependencies are not packaged: (core), (ypsilon c-types), (ypsilon c-ffi), (stklos), (ffi vector), (ffi unsafe), (compatibility mlist), (ffi winapi), (racket base), (mosh ffi), (system foreign-library), (system foreign), (chicken random), (chicken memory), (chicken syntax), (chicken locative), (chicken foreign), (chicken base), (chibi), (chibi ast).

$ akku update
$ akku install "(foreign c)"
$ .akku/env
Authors

Retropikzel

License

NOASSERTION

Dependencies

^1.0.0-beta.3

Package contents

  • (foreign c chibi-primitives) R7 Chibi-Scheme
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! c-null?
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (chibi ast) Built-in
    • ← (scheme inexact) R7
    • ← (chibi) Built-in
  • (foreign c chicken-primitives) R7
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! foreign-declare foreign-safe-lambda void pointer? foreign-declare address->pointer pointer->address
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
    • ← (chicken base)
    • ← (chicken foreign)
    • ← (chicken locative)
    • ← (chicken syntax)
    • ← (chicken memory)
    • ← (chicken random)
  • (foreign c guile-primitives) R7
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set!
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
    • ← (system foreign)
    • ← (system foreign-library)
  • (foreign c kawa-primitives) R7
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set!
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
  • (foreign c mosh-primitives) R7
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set!
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
    • ← (mosh ffi)
  • (foreign c racket-primitives) R7
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! system-big-endian?
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
    • ← (racket base)
    • ← (ffi winapi)
    • ← (compatibility mlist)
    • ← (ffi unsafe)
    • ← (ffi vector)
  • (foreign c stklos-primitives) R7
    • → size-of-type align-of-type define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! get-environment-variable file-exists? make-external-function foreign-c:string-split void?
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
    • ← (stklos)
  • (foreign c ypsilon-primitives) R7
    • → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! c-function c-callback bytevector-c-int8-set! bytevector-c-uint8-ref
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme inexact) R7
    • ← (scheme process-context) R7
    • ← (ypsilon c-ffi)
    • ← (ypsilon c-types)
    • ← (core)
  • (foreign c) R7
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
  • (foreign c) R7 Chibi-Scheme
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c chibi-primitives)
  • (foreign c) R7 CHICKEN
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c chicken-primitives)
  • (foreign c) R7 gauche
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c gauche-primitives)
  • (foreign c) R7 GNU Guile
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c guile-primitives)
    • (srfi 98) SRFI
  • (foreign c) R7 Kawa
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c kawa-primitives)
  • (foreign c) R7 Mosh
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c mosh-primitives)
  • (foreign c) R7 Sagittarius
    • → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c sagittarius-primitives)
  • (foreign c) R7 Ypsilon
    • → c-function c-callback bytevector-c-int8-set! bytevector-c-uint8-ref c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
    • ← (scheme base) R7
    • ← (scheme write) R7
    • ← (scheme char) R7
    • ← (scheme file) R7
    • ← (scheme process-context) R7
    • ← (scheme inexact) R7
    • ← (foreign c ypsilon-primitives)

Version history

  • 2025-11-02 ~ 0.11.0
  • 2025-10-30 ~ 0.10.9
  • 2025-09-11 ~ 0.10.5
  • 2025-08-14 ~ 0.10.2